package com.jason.boundtest;

/**
 * 动态绑定与静态绑定区分
 * 1.动态绑定 : 实例方法是永远与对象绑定的 如 父类 = new 子类 调用子类覆写的方法 永远是new 子类的值
 * 2.静态绑定 : 静态方法与类型绑定 即 父类 = new 子类  调用方法与成员变量 打印出 都是父类的值
 */
public class Main {

    public static void main(String[] args) {

        Animal cat = new Cat();
        cat.sayHi(); // cat or Jack -实例方法永远与对象绑定, - 动态绑定
        cat.sayHello(); // Hello Cat - 静态方法与类型绑定 - 静态绑定
        System.err.println(cat.name); // cat - 实例的成员变量与类型 - 静态绑定
        System.err.println(cat.address);
    }
}
